package com.jsoft.dao;/**
 * @author snkstart
 * @create 2023-02-22 22:40
 */

import com.jsoft.entity.TicketOpen;
import com.jsoft.entity.po.TicketEnterInsti;

import java.util.Date;
import java.util.List;

/**
 *@ClassName TicketEnterInstiDao
 *@Description TODO
 *@Author 29513
 *@Date 2023/2/22 22:40
 *@Version 1.0
 */

public interface TicketEnterInstiDao {


    /**
     * 查询所有的复合列表
     * @return 返回所有的复合集合
     * @throws Exception
     */
    List<TicketEnterInsti> selectAll()throws Exception;

    /**
     * 根据点击不同数据后的审核查询相对应的数据
     * @return 一个TicketEnterInsti对象
     * @throws Exception
     */
    TicketEnterInsti selectTicketEnterInstiById(Integer tid)throws Exception;


    /**
     * 根据查询的idtong将其该条数据的状态改为复核通过
     * @param tid
     * @return 改变的条数
     * @throws Exception
     */
    int updateStatusById(Integer tid)throws Exception;

    /**
     * 根据查询的idtong将其该条数据的状态改为复核不通过
     * @param tid
     * @return 改变的条数
     * @throws Exception
     */
    int changeStatusById(Integer tid)throws Exception;


    /**
     * 根据输入框数据获取复核列表
     * @param no
     * @param minamount
     * @param maxamount
     * @param createTime
     * @param enterpriName
     * @return
     * @throws Exception
     */
    List<TicketEnterInsti>  CheckTicketByView(String no, String acquirerName,
                                  String minamount,String maxamount, Date createTime,
                                  String enterpriName) throws  Exception;




    /**
     * 根据企业名查询付款列表
     * @return 返回付款列表
     * @throws Exception 将异常抛到servlet层
     */
    List<TicketEnterInsti> findOpenList() throws Exception;

    /**
     * 根据no查询凭证详情
     * @param no 凭证编号
     * @return 返回凭证详情
     * @throws Exception 将异常抛到controller层
     */
    TicketEnterInsti findDetailByNode(String no)throws Exception;


    /**
     * 点击撤销按钮触发的事件方法 将其状态改为C(已撤销)
     * @param no
     * @return
     * @throws Exception
     */
    int updateStatusByNo(String no)throws Exception;


    /**
     * 根据输入框数据获取开单列表
     * @param no
     * @param minamount
     * @param maxamount
     * @param createTime
     * @param enterpriName
     * @return
     * @throws Exception
     */
    List<TicketEnterInsti>  selectViewByCondition(String no, String acquirerName,
                                              String minamount,String maxamount, Date createTime,
                                              String enterpriseName) throws  Exception;
}
